package br.ufpb.di.ppgi.persistencia.iquery;

import java.util.List;

import br.ufpb.di.ppgi.negocio.modelo.aluno.Aluno;
import br.ufpb.di.ppgi.persistencia.pagination.HibernateQueryPagedList;

public interface IAlunoQuery extends IQuery {

	public abstract Aluno findByEmail(String email);
	
	public abstract Integer count();

	public abstract List<Aluno> listAll();
	
	public abstract Aluno get(Long id);
	
	public abstract List<Aluno> listByOrientadorAndCanSendProposta(Long id);

	public abstract boolean cpfExists(String cpf);

	public abstract HibernateQueryPagedList<Aluno> paginarByKey(String key);
	
	public abstract HibernateQueryPagedList<Aluno> listByOrientador(Long id, String key);

	public abstract Aluno findByCPF(String cpf);	
}